package com.bjx.flow.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.bjx.flow.domain.entity.FlowInstanceEntity;
import com.bjx.flow.domain.query.FlowInstanceQuery;
import com.bjx.flow.domain.vo.FlowInstanceVO;

/**
 * @desc: 流程实例服务接口
 * @author: liushuai
 * @date: 2022/12/28
 */
public interface IFlowInstanceService {


    /**
     * 分页查询流程实例列表
     * @param flowInstanceQuery
     * @return: IPage<FlowInstanceVO>
     * @Author: liushuai
     * @Date: 2022/12/28
     */
    IPage<FlowInstanceVO> listFlowInstancePage(FlowInstanceQuery flowInstanceQuery);

    /**
     * 新增流程实例
     * @param flowInstanceEntity
     * @Author: liushuai
     * @Date: 2022/12/28
     */
    void insertFlowInstance(FlowInstanceEntity flowInstanceEntity);

    /**
     * 根据流程实例id获取
     * @param instanceId
     * @return: com.bjx.flow.domain.entity.FlowInstanceEntity
     * @Author: liushuai
     * @Date: 2023/1/5 15:43
     */
    FlowInstanceEntity selectFlowInstanceByInstanceId(String instanceId);

}
